# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Kirby's Dream Land 3 Template

game: Kirby's Dream Land 3
requires:
  version: 0.6.6 # Version of Archipelago required for this yaml to work as expected.

Kirby's Dream Land 3:
  ################
  # Game Options #
  ################
  death_link:
    # When you die, everyone who enabled death link dies. Of course, the reverse is true too.
    'false': 50
    'true': 0

  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  plando_connections:
    # Generic connections plando. Format is:
    # - entrance: "Entrance Name"
    #   exit: "Exit Name"
    #   direction: "Direction"
    #   percentage: 100
    # Direction must be one of 'entrance', 'exit', or 'both', and defaults to 'both' if omitted.
    # Percentage is an integer from 1 to 100, and defaults to 100 when omitted.
    []

  ################
  # Goal Options #
  ################
  goal:
    # Zero: collect the Heart Stars, and defeat Zero in the Hyper Zone.
    # Boss Butch: collect the Heart Stars, and then complete the boss rematches in the Boss Butch mode.
    # MG5: collect the Heart Stars, and then complete a perfect run through the minigame gauntlet within the Super MG5
    # Jumping: collect the Heart Stars, and then reach a designated score within the Jumping sub-game
    zero: 50
    boss_butch: 0
    mg5: 0
    jumping: 0

  goal_speed:
    # Normal: the goal is unlocked after purifying the five bosses
    # Fast: the goal is unlocked after acquiring the target number of Heart Stars
    normal: 50
    fast: 0

  max_heart_stars:
    # Maximum number of heart stars to include in the pool of items.
    # If fewer available locations exist in the pool than this number, the number of available locations will be used instead.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 5
    # Maximum value is 99
    30: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-5-99: 0 # random value between 5 and 99

  heart_stars_required:
    # Percentage of heart stars required to purify the five bosses and reach Zero.
    # Each boss will require a differing amount of heart stars to purify.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 100
    50: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-100: 0 # random value between 1 and 100

  jumping_target:
    # The required score needed to complete the Jumping minigame.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 25
    10: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-25: 0 # random value between 1 and 25

  #################
  # World Options #
  #################
  remote_items:
    # Enables receiving items from your own world, primarily for co-op play.
    'false': 0
    'true': 50

  strict_bosses:
    # If enabled, one will not be able to move onto the next world until the previous world's boss has been purified.
    'false': 0
    'true': 50

  open_world:
    # If enabled, all 6 stages will be unlocked upon entering a world for the first time. A certain amount of stages
    # will need to be completed in order to unlock the bosses
    'false': 0
    'true': 50

  ow_boss_requirement:
    # The amount of stages completed needed to unlock the boss of a world when Open World is turned on.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 6
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-6: 0 # random value between 1 and 6

  consumables:
    # When enabled, adds all 1-Ups and Maxim Tomatoes as possible locations.
    'false': 50
    'true': 0

  starsanity:
    # When enabled, every star in a given stage will become a check.
    # Will increase the possible filler pool to include 1/3/5 stars.
    'false': 50
    'true': 0

  filler_percentage:
    # Percentage of non-required Heart Stars to be converted to filler items (1-Ups, Maxim Tomatoes, Invincibility Candy).
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    50: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  trap_percentage:
    # Percentage of filler items to be converted to trap items (Gooey Bags, Slowness, Eject Ability).
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    50: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  gooey_trap_weight:
    # Chance that any given trap is a Gooey Bag (spawns Gooey when you receive it).
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    50: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  slow_trap_weight:
    # Chance that any given trap is Slowness (halves your max speed for 15 seconds when you receive it).
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    50: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  ability_trap_weight:
    # Chance that any given trap is an Eject Ability (ejects your ability when you receive it).
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    50: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  stage_shuffle:
    # None: No stage shuffling.
    # Same World: shuffles stages around their world.
    # Pattern: shuffles stages according to the stage pattern (stage 3 will always be a minigame stage, etc.)
    # Shuffled: shuffles stages across all worlds.
    none: 50
    same_world: 0
    pattern: 0
    shuffled: 0

  boss_shuffle:
    # None: Bosses will remain in their vanilla locations
    # Shuffled: Bosses will be shuffled amongst each other
    # Full: Bosses will be randomized
    # Singularity: All (non-Zero) bosses will be replaced with a single boss
    # Supports plando placement.
    none: 50
    shuffled: 0
    full: 0
    singularity: 0

  animal_randomization:
    # Disabled: all animal positions will be vanilla.
    # Shuffled: all animal positions will be shuffled amongst each other.
    # Full: random animals will be placed across the levels. At least one of each animal is guaranteed.
    disabled: 50
    shuffled: 0
    full: 0

  copy_ability_randomization:
    # Disabled: enemies give regular copy abilities and health.
    # Enabled: all enemies will have the copy ability received from them randomized.
    # Enabled Plus Minus: enemies (except minibosses) can additionally give you anywhere from +2 health to -1 health when eaten.
    disabled: 50
    enabled: 0
    enabled_plus_minus: 0

  boss_requirement_random:
    # If enabled, boss purification will require a random amount of Heart Stars. Depending on options, this may have
    # boss purification unlock in a random order.
    'false': 50
    'true': 0

  gifting:
    # When enabled, the goal game item will be sent to other compatible games as a gift,
    # and you can receive gifts from other players. This can be enabled during gameplay
    # using the client.
    'false': 50
    'true': 0

  ####################
  # Cosmetic Options #
  ####################
  game_language:
    # The language that the game should display. This does not have to match the given rom.
    japanese: 0
    english: 50

  allow_bb:
    # Allow Boss Butch variants of bosses in Boss Shuffle.
    # Enabled: any boss placed will have a 50% chance of being the Boss Butch variant, including bosses not present
    # Enforced: all bosses will be their Boss Butch variant.
    # Boss Butch boss changes are only visual.
    disabled: 50
    enabled: 0
    enforced: 0

  kirby_flavor_preset:
    # The color of Kirby, from a list of presets.
    default: 50
    bubblegum: 0
    cherry: 0
    blueberry: 0
    lemon: 0
    kiwi: 0
    grape: 0
    chocolate: 0
    marshmallow: 0
    licorice: 0
    watermelon: 0
    orange: 0
    lime: 0
    lavender: 0
    miku: 0
    custom: 0

  kirby_flavor:
    # A custom color for Kirby. To use a custom color, set the preset to Custom and then define a dict of keys from "1" to
    # "15", with their values being an HTML hex color.
    '1': B01810
    '10': E85048
    '11': D0C0C0
    '12': B08888
    '13': E87880
    '14': F8F8F8
    '15': B03830
    '2': F0E0E8
    '3': C8A0A8
    '4': A87070
    '5': E02018
    '6': F0A0B8
    '7': D07880
    '8': A85048
    '9': E8D0D0

  gooey_flavor_preset:
    # The color of Gooey, from a list of presets.
    default: 50
    bubblegum: 0
    cherry: 0
    blueberry: 0
    lemon: 0
    kiwi: 0
    grape: 0
    chocolate: 0
    marshmallow: 0
    licorice: 0
    watermelon: 0
    orange: 0
    lime: 0
    lavender: 0
    custom: 0

  gooey_flavor:
    # A custom color for Gooey. To use a custom color, set the preset to Custom and then define a dict of keys from "1" to
    # "15", with their values being an HTML hex color.
    '1': 000808
    '2': '102838'
    '3': '183048'
    '4': '183878'
    '5': 1838A0
    '6': B01810
    '7': E85048
    '8': D0C0C0
    '9': F8F8F8

  music_shuffle:
    # None: default music will play
    # Shuffled: music will be shuffled amongst each other
    # Full: random music will play in each room
    # Note that certain songs will not be chosen in shuffled or full
    none: 50
    shuffled: 0
    full: 0

  virtual_console:
    # Adds the ability to enable 2 of the Virtual Console changes.
    # Flash Reduction: reduces the flashing during the Zero battle.
    # Color Changes: changes the color of the background within the Zero Boss Butch rematch.
    none: 0
    flash_reduction: 50
    color_changes: 0
    both: 0

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
